// import com.alibaba.druid.sql.ast.SQLObjectImpl;
// import com.alibaba.druid.sql.visitor.SQLASTVisitor;
#pragma once
#include "../../../sql/ast/SQLObjectImpl.h"
#include "../../../sql/ast/statement/SQLTableElement.h"
class SQLExprTableSource;
class SQLASTVisitor;

class SQLTableLike : public SQLObjectImpl, virtual public SQLTableElement
{
public:
  SQLExprTableSource_ptr table;
  BOOL_ptr includeProperties;
  BOOL_ptr excludeProperties;

  SHAREDOBJECT(SQLTableLike);
  // @Override
  void accept0(SQLASTVisitor_ptr v);

  // SQLTableLike *clone();
  virtual SQLObject_ptr clone();
  SQLExprTableSource_ptr getTable();

  void setTable(SQLExprTableSource_ptr x);

  BOOL_ptr isIncludeProperties();

  void setIncludeProperties(BOOL_ptr includeProperties);

  BOOL_ptr isExcludeProperties();

  void setExcludeProperties(BOOL_ptr excludeProperties);
};
